A data structure, or memory storage structure, is a way of storing data in a computer so that it may be accessed efficiently. The choice of the data structure often begins from the choice of an abstract data type. A well-designed data structure allows a variety of critical operations to be performed, using as few resources, both execution time and memory space, as possible. Data structures are implemented using the data types, references, and operations on them provided by a programming language.
Different types of data structures are suited to different kinds of applications, and some are highly specialized to certain tasks. For example, binary trees may be used in implementations of in-memory databases. A binary tree is a tree data structure in which each node has at most two children. Typically the child nodes are called left and right.